1739B - Array Recovery - CodeForces Solution


constructive algorithms greedy

Please click on ads to support us..

Python Code:

import sys
m =  int(sys.stdin.readline())
for i in range(m):
   a= int(sys.stdin.readline().replace('\n',''))
   b= sys.stdin.readline().replace('\n','').split(' ')
   d = list()
   an =list()
   d.append(int(b[0]))
   an.append(int(b[0]))
   tyu = 0 
   for t in range(1,a):
      d.append(int(b[t]))
      s = list()
      for g in range(200):
         if int(b[t]) == abs( g - an[t-1]):
            s.append(g)
      if len(s) >= 2:
         print(-1)
         tyu =1
         break
      else:
         an.append(s[0])
   if tyu != 1:
      l = ''
      for p in range(len(an)-1):
         l+=str(an[p])+' '
      l+=str(an[-1])
      print(l)

C++ Code:

/******************************************************************************

Welcome to GDB Online.
GDB online is an online compiler and debugger tool for C, C++, Python, Java, PHP, Ruby, Perl,
C#, OCaml, VB, Swift, Pascal, Fortran, Haskell, Objective-C, Assembly, HTML, CSS, JS, SQLite, Prolog.
Code, Compile, Run and Debug online from anywhere in world.

*******************************************************************************/
#include <iostream>

using namespace std;

int main()
{
    int t;
    cin>>t;
    while(t--)
    {
         int n;
         cin>>n;
         int arr[n];
         int d[n];
         for(int i=0;i<n;i++)
         {
             cin>>d[i];
         }
         bool valid =true;
         arr[0]=d[0];
         for(int i=1;i<n;i++)
         {
             int val1=arr[i-1]+d[i];
             int val2=arr[i-1]-d[i];
             if(val2<0 || val2==val1)
             {
                 arr[i]=val1;
             }
             else
             {
                 valid=false;
                 break;
             }
         }
         if(valid)
         {
             for(int i=0;i<n;i++)
             {
                 cout<<arr[i]<<" ";   
             }
             cout<<endl;
         }
         else
         {
             cout<<-1<<endl;
         }
    }

    return 0;
}


Comments

Submit
0 Comments
More Questions

1371C - A Cookie for You
430B - Balls Game
1263A - Sweet Problem
1332B - Composite Coloring
254A - Cards with Numbers
215A - Bicycle Chain
1288B - Yet Another Meme Problem
1201C - Maximum Median
435A - Queue on Bus Stop
1409B - Minimum Product
723B - Text Document Analysis
1471C - Strange Birthday Party
1199A - City Day
1334A - Level Statistics
67B - Restoration of the Permutation
1734A - Select Three Sticks
1734B - Bright Nice Brilliant
357B - Flag Day
937A - Olympiad
1075A - The King's Race
1734C - Removing Smallest Multiples
1004C - Sonya and Robots
922A - Cloning Toys
817A - Treasure Hunt
1136B - Nastya Is Playing Computer Games
1388A - Captain Flint and Crew Recruitment
592B - The Monster and the Squirrel
1081A - Definite Game
721C - Journey
1400A - String Similarity